Developer --> Technical Publications
PATHMac OS 8 Developer Documentation > Networking and Communications > AppleShare >

User Authentication Modules


UAMAuthenticate Routine

Authenticate a user.

SInt32 UAMAuthenticate (
                     SInt32 operation,
                     SInt32 id,
                     void* authState,
                     SInt32 authStateSize,
                     void* authData,
                     SInt32 authDataSize,
                     void* authStateOut,
                     SInt32* authStateSizeOut,
                     void* authDataOut,
                     SInt32* authDataSizeOut);
operation
Specifies the authentication stage, which can be kUAMAuthLogin or kUAMAuthLoginContinue .
id
Contains the user ID that is being authenticated.
authState
Contains authentication-stage dependent information specified by the client UAM.
authStateSize
Specifies in bytes the length of authState .
authData
Contains input data from the FPLogin or FPLoginContinue command block. For information on the FPLogin and FPContLogin command block, see Inside AppleTalk , second edition.
authDataSize
Specifies in bytes the length of authData .
authStateOut
On output, contains at most 16 bytes of authentication-stage-dependent information.
authStateSizeOut
Specifies in bytes the length of authStateOut .
authDataOut
Contains a reply message from the server UAM that is to be passed to the client UAM.
authDataSizeOut
On input, specifies in bytes the size of authDataOut ; on output, authDataSizeOut specifies the length of the reply message returned in authDataOut .
DISCUSSION

Every server UAM must export a UAMAuthenticate routine. Before calling a server UAM's UAMAuthenticate routine, the AppleShare Registry verifies that the user and the specified UAM exist.

The UAMAuthenticate routine is called at deferred task time, so it cannot call the Memory Manager to allocate memory, but it can use other memory allocation mechanisms, such as the Open Transport memory allocation functions, which use the Apple Shared Library Manager.

Note

If your authentication method requires multiple steps, you can use the authState parameter to maintain state-dependent information.


© 1999 Apple Computer, Inc. – (Last Updated 07 May 99)